// const crypto = require('crypto');

// function sha256(message, secret = '', encoding) {
//     const hmac = crypto.createHmac('sha256', secret)
//     return hmac.update(message).digest(encoding)
// }
// function getHash(message, encoding = 'hex') {
//     const hash = crypto.createHash('sha256')
//     return hash.update(message).digest(encoding)
// }
// function getDate(timestamp) {
//     const date = new Date(timestamp * 1000)
//     const year = date.getUTCFullYear()
//     const month = ('0' + (date.getUTCMonth() + 1)).slice(-2)
//     const day = ('0' + date.getUTCDate()).slice(-2)
//     return `${year}-${month}-${day}`
// }


// export default function main(payload){
//     // 密钥参数
//     const SECRET_ID = "AKIDe9OM4WhbFdjY7PP8amiNltkKdgRv84k9"
//     const SECRET_KEY = "91dy2pb7LIyOWNxHK6astd6IEuIPGq9C"

//     const endpoint = "ocr.tencentcloudapi.com"
//     const service = "ocr"
//     const region = "ap-guangzhou"
//     const action = "IDCardOCR"
//     const version = "2018-11-19"
//     //const timestamp = getTime()
//     const timestamp = new Date().getTime().toString().substring(0,10)
//     //时间处理, 获取世界时间日期
//     const date = getDate(timestamp)

//     // ************* 步骤 1：拼接规范请求串 *************
//     const signedHeaders = "content-type;host"
//     const hashedRequestPayload = getHash(payload);
//     const httpRequestMethod = "POST"
//     const canonicalUri = "/"
//     const canonicalQueryString = ""
//     const canonicalHeaders = "content-type:application/json; charset=utf-8\n" + "host:" + endpoint + "\n"

//     const canonicalRequest = httpRequestMethod + "\n"
//                          + canonicalUri + "\n"
//                          + canonicalQueryString + "\n"
//                          + canonicalHeaders + "\n"
//                          + signedHeaders + "\n"
//                          + hashedRequestPayload
//     console.log(canonicalRequest)
//     console.log("----------------------------")

//     // ************* 步骤 2：拼接待签名字符串 *************
//     const algorithm = "TC3-HMAC-SHA256"
//     const hashedCanonicalRequest = getHash(canonicalRequest);
//     const credentialScope = date + "/" + service + "/" + "tc3_request"
//     const stringToSign = algorithm + "\n" +
//                     timestamp + "\n" +
//                     credentialScope + "\n" +
//                     hashedCanonicalRequest
//     console.log(stringToSign)
//     console.log("----------------------------")

//     // ************* 步骤 3：计算签名 *************
//     const kDate = sha256(date, 'TC3' + SECRET_KEY)
//     const kService = sha256(service, kDate)
//     const kSigning = sha256('tc3_request', kService)
//     const signature = sha256(stringToSign, kSigning, 'hex')
//     console.log(signature)
//     console.log("----------------------------")

//     // ************* 步骤 4：拼接 Authorization *************
//     const authorization = algorithm + " " +
//                     "Credential=" + SECRET_ID + "/" + credentialScope + ", " +
//                     "SignedHeaders=" + signedHeaders + ", " +
//                     "Signature=" + signature
//     return authorization

// }